package com.fingard.dsp.bank.directbank.bankInterface;

import com.fingard.dsp.bank.reqrespobj.billpool.*;
import com.fingard.dsp.bank.reqrespobj.elecbillquery.ReqB001OperBillQry;
import com.fingard.dsp.bank.reqrespobj.elecbillquery.ReqB006BillStateQry;
import com.fingard.dsp.bank.reqrespobj.elecbillquery.RetAtsB001OperBillQry;
import com.fingard.dsp.bank.reqrespobj.elecbillquery.RetAtsB006BillStateQry;
import com.fingard.dsp.bank.reqrespobj.elecbilltrans.ReqB003BillRespSubmit;
import com.fingard.dsp.bank.reqrespobj.elecbilltrans.ReqB112BillCancSubmit;
import com.fingard.dsp.bank.reqrespobj.elecbilltrans.RetAtsB003BillRespSubmit;
import com.fingard.dsp.bank.reqrespobj.elecbilltrans.RetAtsB112BillCancSubmit;

/*
* 票据池接口
* */
public interface IBillPool {
    //ATSES-27716 票据池直联指令码变更 :对票据池指令命名修改  B3XX ->BP0XX/BP1XX/BP9XX
    // BP+0/1/..+序号  （0/1/.. 0表示查询类接口 1表示操作类接口 9表示特殊类接口）

    /******查询类接口********/
//    可操作票据查询(B301->BP001)
     RetAtsB301OperBillQry BP001_OperBill_Req(ReqB301OperBillQry query) throws Exception;
    //	票据池处理结果查询(B305->BP002)
    RetAtsB305DealStateQry BP002_DealStateQry(ReqB305DealStateQry query) throws Exception;
    //	票据池额度查看(B306->BP003)
    RetAtsB306PoolAmountQry BP003_PoolAmountQry(ReqB306PoolAmountQry query) throws Exception;
    //	票据池额度调剂查询(BP308->BP004)
    RetAtsB308PoolAmonutAdustQry BP004_AdjustQry(ReqB308PoolAmountAdjustQry query) throws Exception;
    //	保证金归集明细查看(BP313->BP005)
    RetAtsB312AssuranceDetail BP005_AssuracneDetail(ReqB312AssuranceDetail query) throws Exception;
    //  贷款明细(BP315->BP006)
    RetAtsB315LoanDetail BP006_LoanDetail(ReqB315LoanDetail query) throws Exception;
    //保证金划转交易结果查询(B329->BP007)
    RetAtsB311AssuranceTransmit BP007_AssuranceTransmitQry(ReqB329AssuranceTransmitQry query) throws Exception;
    //票据交易状态查询(B325->BP008)
    RetAtsBP008BillStateQry BP008_BillState_Qeury(ReqBP008BillStateQry query) throws Exception;
    //在池票据登记簿 票据池明细(B324->BP009)
    RetAtsB324InPoolRegister BP009_InPoolRegister(ReqB324InPoolRegister query) throws Exception;



    /********操作类接口**************/
    // 	电子票据入池质押(B302->BP101)
    RetAtsB302InPoolPledge BP101_InPoolPledge_Req(ReqB302InPoolPledge query) throws Exception;
////	电子票据入池质押撤销（使用B327接口）
//    RetAtsB303InPoolPledgeCancel D_B303_PledgeCancel(ReqB303InPoolPledgeCancel query) throws Exception;
// 	电子票据池内解质押(B304->BP102)
    RetAtsB304ImPledge BP102_ImPledge(ReqB304Impledge query) throws Exception;
//	票据池额度调剂(B307->BP103)
    RetAtsB307PoolAmountAdjust BP103_PoolAmountAdjust(ReqB307PoolAmountAdjust query) throws Exception;
//	申请出票(B309->BP104)
    RetAtsB309BillApply BP104_BillApply(ReqB309BillApply query) throws Exception;
//	超短贷直通车(B310->BP105)
    RetAtsB310ShortLoan BP105_ShortLoan(ReqB310ShortLoan query) throws Exception;
    //  贷款还款(B311->BP106)
    RetAtsB311LoanRepay BP106_LoanRepay(ReqB311LoanRepay query)throws Exception;
//  保证金划转(B312->BP107)
    RetAtsB311AssuranceTransmit BP107_AssuranceTransmit(ReqB311AssuranceTransmit query) throws Exception;
    //交易撤回(B327->BP108)
    RetAtsBP108BillCancSubmit BP108_BillWithdrawalReq(ReqBP108BillCancSubmit query) throws Exception;
    //票据通用应答（签收/拒签）(B328->BP109)
    RetAtsBP109BillRespSubmit BP109_BillPublicrReply(ReqBP109BillRespSubmit query) throws Exception;


    /******融资开票*****/
    //该融资开票接口已经上线使用 使用新接口需要兼容原来接口
    //  在线出票融资申请 alon 2019/11/01(B317/BP901)
    RetAtsB317OnlineFinancingApply BP901_OnlineFinancingApply(ReqB317OnlineFinancingApply query)throws Exception;
    //  融资申请处理结果查询 alon 2019/11/04(B318/BP902)
    RetAtsB318FinancingApplyQry BP902_FinancingApplyQry(ReqB318FinancingApplyQry query)throws Exception;
    //  重新生成合同文件 alon 2019/11/05(B319/BP903)
    RetAtsB319RebuildFile BP903_RebuildFile(ReqB319RebuildFile query)throws Exception;
    //  融资合同申请确认 alon 2019/11/05(B320/BP904)
    RetAtsB320ConfirmApplicationContract BP904_ConfirmApplicationContract(ReqB320ConfirmApplicationContract query)throws Exception;
    //  融资出票状态查询(B321/BP905)
    RetAtsB321QryFinancingApply BP905_QryFinancingApply(ReqB321QryFinancingApply query) throws Exception;


}
